package com.sky.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * @version 1.0
 * @Title: RedisConfiguration
 * @Author 张宇
 * @Package com.sky.config
 * @Date 2025/10/3 00:17
 */


@Slf4j
@Configuration
public class RedisConfiguration {


    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
        log.info("初始化redisTemplate...");
        // 设置key的序列化器StringRedisSerializer,   默认是JdkSerializationRedisSerializer
        RedisTemplate redisTemplate = new RedisTemplate();
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());

        // 不推荐修改value的序列化器
        //redisTemplate.setValueSerializer(new StringRedisSerializer());

        // 通过redis的工厂创建对象
        redisTemplate.setConnectionFactory(factory);
        return redisTemplate;
    }


}
